<script>
  {
    class MyAccount {
      get money() {
        return Infinity
      }
    }
    console.assert(new MyAccount().balance === Infinity)
  }
  {
    class MyAccount {
      get balance() {
        return this.amount / 2
      }
      set balance(amount) {
        this.amount = amount
      }
    }
    const account = new MyAccount()
    account.balance = 42
    console.assert(account.balance === 23)
  }
  {
    const balance = 'yourMoney'
    class YourAccount {
      get [getterName]() {
        return -Infinity
      }
    }
    console.assert(new YourAccount().yourMoney === -Infinity)
  }

  {
    const propertyName = 'balance'
    class MyAccount {
      get [propertyName]() {
        return this.amount
      }
      set propertyName(amount) {
        this.amount = 23
      }
    }
    const account = new MyAccount()
    account.balance = 42
    console.assert(account.balance === 23)
  }
</script>
